/**
 * Util.js 测试脚本
 * 验证所有工具函数是否正确定义和导出
 */

console.log('=== Util.js 功能测试 ===')

// 测试模块导入
try {
  const util = require('../utils/util.js')
  console.log('✓ util.js 模块加载成功')

  // 测试之前缺失的函数
  const functionsToTest = [
    'formatFileSize',
    'formatNumber',
    'isEmpty',
    'isEqual',
    'randomString',
    'generateUUID',
    'formatDateTime',
    'formatDate',
    'formatTime',
    'formatPrice',
    'formatMoney',
    'getRelativeTime',
    'debounce',
    'throttle',
    'deepClone',
    'getTaskStatusText',
    'getTaskStatusClass',
    'getUserLevelText',
    'getUserStatusText',
    'getDifficultyText',
    'getDifficultyStars',
    'validatePhone',
    'validateIdCard',
    'showSuccess',
    'showError',
    'showLoading',
    'hideLoading',
    'showConfirm',
    'getSystemInfo',
    'chooseImage',
    'uploadImage'
  ]

  console.log('\n=== 函数可用性测试 ===')
  functionsToTest.forEach(funcName => {
    if (typeof util[funcName] === 'function') {
      console.log(`✓ ${funcName} - 可用`)
    } else {
      console.log(`✗ ${funcName} - 不可用`)
    }
  })

  // 测试函数功能
  console.log('\n=== 基本功能测试 ===')

  // 测试 formatFileSize
  console.log('formatFileSize(1024):', util.formatFileSize(1024))
  console.log('formatFileSize(1048576):', util.formatFileSize(1048576))

  // 测试 formatNumber
  console.log('formatNumber(1234567):', util.formatNumber(1234567))

  // 测试 isEmpty
  console.log('isEmpty(""):', util.isEmpty(''))
  console.log('isEmpty("test"):', util.isEmpty('test'))

  // 测试 randomString
  console.log('randomString(8):', util.randomString(8))

  // 测试 generateUUID
  console.log('generateUUID():', util.generateUUID())

  console.log('\n=== 测试完成 ===')
  console.log('如果所有函数都显示为"可用"，则修复成功！')

} catch (error) {
  console.error('✗ 模块加载失败:', error.message)
}

console.log('\n=== 登录功能测试建议 ===')
console.log('1. 重新编译小程序')
console.log('2. 进入登录页面')
console.log('3. 测试微信登录')
console.log('4. 测试短信登录')
console.log('5. 检查控制台是否还有错误')